home *** CD-ROM | disk | FTP | other *** search
- /*
- File: AtomExtenderHeader.h
-
- Contains: xxx put contents here xxx
-
- Written by: Kevin Aitken
-
- Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <3> 7/12/93 rdm Added #ifndef __AtomExtenderHeader__.
- <2> 6/21/93 KBA Converting to new callback dispatcher.
- <1> 4/1/93 KBA first checked in
-
- */
-
-
- #ifndef __AtomExtenderHeader__
- #define __AtomExtenderHeader__
-
-
- #ifndef __CallbackDispatcherHeader__
- #include "CallbackDispatcherHeader.h"
- #endif
-
-
- #ifndef __Files__
- #include <Files.h>
- #endif
-
- #ifndef __Types__
- #include <Types.h>
- #endif
-
-
- // ***********************************************************************************************
- // ********************************** structures and constants ***********************************
- // ***********************************************************************************************
-
- typedef enum { kFileAtomDataFork, kFileAtomRsrcFork, kFileAtomRsrcForkFromDataFork, kRsrcAtom, kFontAtom, kActionAtom, reserved1 = 100 } DataType;
- typedef enum { kFatalError = -1, kContinueAsNormal = 0, kCancelInstallation = 1, kCopiedData, kForceToShort = 300 } ExtenderResultCode;
- typedef enum { kInitialize, kBeforePart, kAfterPart, kSuccess, kCancel } ExtenderMessageID;
-
-
- typedef struct {
- ExtenderMessageID fMessageID;
- Handle fStaticDataHdl;
- ProcPtr fCallBackProcPtr;
- short fTargetVRefNum;
- long fTargetFolderDirID;
- short fSystemVRefNum;
- long fSystemBlessedDirID;
- long fRefCon;
- DataType fDataType;
- } EnvironsHeaderRec;
-
-
- typedef struct {
- FSSpec fSourceFile;
- FSSpec fTargetFile;
- long fTotalTargetSize;
- long fTargetPosStart;
- long fTargetPartSize;
- long fSourcePartSize;
- long fInstallerTempDirID;
- } CopyHeaderRec;
-
-
- typedef struct {
- EnvironsHeaderRec fEnvironmentHeader;
- CopyHeaderRec fCopyPBHeader;
- } BasicCopyRec;
-
-
- typedef struct {
- EnvironsHeaderRec fEnvironmentHeader;
- CopyHeaderRec fCopyPBHeader;
- ResType fSourceRsrcType;
- short fSourceRsrcID;
- ResType fTargetRsrcType;
- short fTargetRsrcID;
- Str255 fTargetRsrcName;
- short fTargetRsrcAttrs;
- } RsrcCopyRec;
-
-
- typedef struct {
- EnvironsHeaderRec fEnvironmentHeader;
- CopyHeaderRec fCopyPBHeader;
- ResType fSourceFontRsrcType;
- short fSourceFontRsrcID;
- ResType fTargetFontRsrcType; /* FONT, NFNT, or sfnt */
- short fTargetFontRsrcID;
- Str255 fTargetFontRsrcName;
- short fTargetFontRsrcAttrs;
- Str255 fFamilyName;
- short fFamilyID;
- short fFontSize;
- short fFontStyle;
- } FontCopyRec;
-
- typedef union {
- BasicCopyRec fBasicPBRec;
- BasicCopyRec fFileCopyPBRec;
- RsrcCopyRec fRsrcCopyPBRec;
- FontCopyRec fFontCopyPBRec;
- } ExtenderPBRec, *ExtenderPBPtr ;
-
-
-
- // ***********************************************************************************************
- // ******************************* Extender I/O Callback Routines ********************************
- // ***********************************************************************************************
-
- OSErr ReadSourceData( CallBackProcPtr pCallBackProcPtr,
- long* count,
- Ptr storagePtr );
-
- OSErr WriteTargetData( CallBackProcPtr pCallBackProcPtr,
- long count,
- Ptr storagePtr );
-
- OSErr ReadTargetData( CallBackProcPtr pCallBackProcPtr,
- long* count, /* Curretnly only available in rsrc atom version procs/ */
- Ptr storagePtr );
-
- OSErr SetTargetDataPos( CallBackProcPtr pCallBackProcPtr,
- short positionMode, /* see File.h */
- long positionOffset );
-
- OSErr GetTargetDataPos( CallBackProcPtr pCallBackProcPtr,
- long* positionOffset );
-
- OSErr GetTargetDataEOF( CallBackProcPtr pCallBackProcPtr,
- long* theLength );
-
- OSErr SetSourceDataPos( CallBackProcPtr pCallBackProcPtr,
- short positionMode, /* see File.h */
- long positionOffset );
-
- OSErr GetSourceDataPos( CallBackProcPtr pCallBackProcPtr,
- long* positionOffset );
-
- OSErr GetSourceDataEOF( CallBackProcPtr pCallBackProcPtr,
- long* theLength );
-
-
- #endif